﻿//#include<iostream>
//using namespace std;
//#include"BinarySearch.h"
//
//int main()
//{
//	key_value::BSTree<string, string> dict;
//	//BSTree<string, string> copy = dict;
//	dict.Insert("left", "左边");
//	dict.Insert("right", "右边");
//	dict.Insert("insert", "插⼊");
//	dict.Insert("string", "字符串");
//	string str;
//	while (cin >> str)
//	{
//		auto ret = dict.Find(str);
//		if (ret)
//		{
//			cout << "->" << ret->_value << endl;
//		}
//		else
//		{
//			cout << "无此单词，请重新输入" << endl;
//		}
//	}
//	return 0;
//}
#define _CRT_SECURE_NO_WARNINGS


#include<stdio.h>
#include<stdbool.h>
bool wanshu(int x)
{
	int tmp = 0;
	for (int i = 1; i < x; i++)
		if (x % i == 0) tmp += i;
	if (tmp == x) return true;
	return false;
}
int main()
{
	int x;
	while (scanf("%d", &x))
	{
		if (wanshu(x)) printf("%d是完数\n", x);
		else printf("%d不是完数\n", x);
	}
	return  0;
}
